package me.yushuai.wukong.base.convertor;

import me.yushuai.wukong.base.api.dto.ConfigDefinitionDTO;
import me.yushuai.wukong.base.api.dto.ConfigValueDTO;
import me.yushuai.wukong.base.api.dto.CreateConfigDTO;
import me.yushuai.wukong.base.entity.ConfigDefinition;
import me.yushuai.wukong.base.entity.ConfigValue;
import org.mapstruct.Mapper;

import java.util.List;

/**
 * @author zhoushuai@189.cn
 * @since 2023-04-03
 */
@Mapper(componentModel = "spring")
public interface ConfigDefinitionConvertor {

    ConfigDefinition mapToConfigDefinition(CreateConfigDTO dto);

    List<ConfigValue> mapToConfigValues(List<ConfigValueDTO> values);

    ConfigValueDTO mapToConfigValueDTO(ConfigValue configValue);

    List<ConfigValueDTO> mapToConfigValueDTOList(List<ConfigValue> configValues);

    ConfigDefinitionDTO mapToConfigDefinitionDTO(ConfigDefinition confDef, List<ConfigValueDTO> configValueDTOList);
}
